### VisualK-OS Command Standardization Definitions
###
###    --- These commands/values are the means by
###    which the slave devices and control console
###    programs communicate... Everything will go
###    all fucky if they are not the same, since
###    commands are defined by an integer rather
###    than strings, to try to eliminate string
###    handling on the Arduino side altogether.
###
###    Syntax: Notably similar to Win3.11 INI files.
###       - [section]: "section" will be commented in.
###       - CMD_X    : "CMD_X" is the constant name.
###       * Values are defined automatically & sequentially
###       * Lines prefixed with "###" are ignored.



[VKC_? Color Constants]
$BASE$=0
### Misc. parameter bypass
VKC_NONE
VKC_BLUE
VKC_CYAN
VKC_GREEN
VKC_MAGENTA
VKC_ORANGE
VKC_PURPLE
VKC_RED
VKC_WHITE
### Forces use of RGB channels for a (sickly-green) white light
VKC_WHITE_RGB
VKC_YELLOW
VKC_MAX



[Lamp IDs]
$BASE$=0
LAMP_0
LAMP_1
LAMP_2
LAMP_3
LAMP_4
LAMP_5
LAMP_6
LAMP_7
LAMP_WF0
LAMP_WF1



[System Command Constants]
$BASE$=0

### General state constants
### * No parameters
CMD_OFF
CMD_ON

### General acknowledgement, used in handshaking w/VKOS CC
### * No parameters
CMD_OK

### Command: Get lamp color
### p1: Board #
### p2: Lamp #
### p3: n/a
CMD_GET_COLOR

### Command: Set lamp color
### p1: Board #
### p2: Lamp #
### p3: VKC_* color
CMD_SET_COLOR

### Mute
### p1 = Board #
### p2 = Lamp #
### p3 = Mute state
CMD_MUTE

### Set lamp state
### p1: RGB lamp #
### p2: Light state
### p3: Fade timer (if needed, otherwise, hard on/off)
CMD_LIGHT_STATE

### Set all lamps on board x to a given color
### p1: Board #
### p2: VKC_* color (VKC_WHITE turns off RGBs and activates white LEDs)
### p3: Fade timer (if needed, oterwise, hard on/off)
CMD_FLOOD

### Control Center handshake
### * No parameters
CMD_REQ_ID

### General error
### * No parameters
CMD_ERROR





[Automation]
$BASE$=0
### General board ID constants
BOARD_0
BOARD_1
ALL_BOARDS


### Fade across color ranges
### p1: Program ID
### p2: Step frequency (ms between steps)
### p3: Color set to use
CMD_COLORWALL

### Color Wall Color Sets
$BASE$=20
# Blue -> Purple (220~310)
CW_DARK
# Red -> Green (0~135)
CW_MID
# Blues (180~250)
CW_BLUES
# Greens (70~160)
CW_GREENS

### Color Wall programs
$BASE$=50
# Program: Across all boards, simultaneously
PROG_CW_WIDE
# Program: Wave-like motion across boards
PROG_CW_WAVE



### Strobe
### p1: Board #
### p2: VKC_* color (VKC_WHITE uses white LEDs)
### p3: Frequency (ms*25 [0 = OFF])
CMD_STROBE
